starcraftfandomcom-20200213-history
User blog:OmaMorkie/The AI was beating us in Go. Then we changed the Meta
Fighting Back Stage 1: Scouting out the AI's Weak Spots In general terms, what the AI's in Go and Chess are really bad at is Meta. I understand just about enough Go to extract that much information from the Go-Communities analysis of the Pro-Go games against Alpha Go. Don't get me wrong: The AI invented a new move that killed the current meta. Move 37 in the first game, where the human took a 2 hour break before making his move – that's like half of the entire game's thinking time. The moved altered something in the meta of Go. But the humans where faster to start adapting the Meta, and that is the only way then can at least occasionally win a game. Changing number 37 is a bit like adding 6 burrowed Banelings in the mineral line of your opponents 3rd before he takes it. A really small detail in the bigger picture. But it may be enough to break the balance in favor of Zerg when used in an otherwise perfectly executed hydra-ling-bane in ZvP. Once that piece is broken, all the logic about the early-game strategy leading to that point also changes. And the next step after that is where humans still prevail: Adapting the Meta. If I really understand enough Go-lingo, I believe that this is exactly how the only human win in the 4-1 series was achieved: He change up something in the early game to a new move that was considered impossible long ago. But then somehow made it work. This weakness makes sense when looking at the technical way the AIs the game at the moment: They need a very, very large library of games to get going with their reinforcement learning. We are still ahead when it comes to creating a small number of viable new game styles in that library as soon a new change pops up. That is because we have a good theory of how the game works, while the AI is only experimenting based on re-enforcement learning. Or can they develop theories? I don't even know what that would mean… Anyway, for now that is our only chance to keep winning. Or at least to have a role in AI-Human Archon games. We need to speed up on improving the Meta. Let me briefly define what I mean with the “Meta”. The terms is generally used to describe the “expected” reactions of your opponent. For example, you can say: “Battlecruisers are currently not in the meta in TvT”, which means you won't see battlecruisers in like 95% of Grand-Master game winners in TvT. The meta is composed of a set of build-orders for each race, which are all connected with a set of “reasonable” responses. A “build order” is the literal order of buildings, but let's include certain non-building “meta-moves” like purposefully engaging in a non-efficient trade, or base-trading in the definition to keep it more broad. Getting more systematic about Meta Progress' That is easier said than done… Aren't we all trying all the time to get ahead in the Meta? I'd even claim that that is what makes Starcraft so great and let's us stick with the same fucking game for decades...? We are doing it, yes, and we are even quite advanced at it, so we have a language to talk about, it's just not very precise. While I'm sure there is a lot of talk about exactly the kind of weird move like 6 burrowed banelings in your opponents third mineral line before he takes it, we do not take records or systematize how we understand Starcraft. We don't have a real “Theory of Starcraft” that lists all the relevant factors. Chess and Go both have such theoretical frames, they are used for example to create the scoring scheme of a mid-game situation. Or, the be more precise: There is a pretty advanced theory out there in the community that we somehow share so we can talk about these things and know a lot, but we never formalized that theory. The AI's will learn all that about the current Meta from our previous games and start cornering us due to their better execution. So how can we as a whole human community improve our meta? Developing the Science of Starcraft One way to formalize that talk would be to develop a code that allows us to talk faster. We have an informal code that is really sophisticated already – like in when I make a statement like: “Can you believe it? Stats just won after seven minutes in the finals against Gumiho, when he did the Void Ray & Basetrade move that Strange had used in that “Strange vs. Polt” game”. Most readers in this forum will have understood right away which move in which game I'm referring to, even if it's already more than a year old. I would argue that what Strange did in Strange vs. Polt was a potentially Meta altering event. There are many other such games, so I'm trying to formalize what he said here. A more recent one would be “Neebs Archon Drop”, but I'll stick to Strange vs. Polt as an example for now. The more subtly we can improve the Meta, the better. Defending Archon Drops with Roaches at perfect execution is something so clearly possible that the AI would probably find that by just experimenting a bit beyond a fully standardized, perfect execution ZvP game. We already have the machine-readable formats of replays and game stats, and our informal language to theorize about possible SC2 is pretty good so far. Saying “Stats just won the GSL against Gumhio by initiating a base trade against Terran with Void Rays at 6 minutes” works pretty good. Probably that game would also end up the Hall of Fame of crazy games, so that would make it “Stats won in (Stats;Gumiho; 6:00;BC17; GF), because he did…what? Maybe “BaseTrade in PvT with Void-Rays at 6 minutes” – codified that would make it “Strategy in MatchUp in BuildOrderDeviation from Meta”. One thing we might want to do in order to improve our understanding is draw up a Meta-Decsion Tree, with verbal reasoning why certain things will or won't work at perfect execution. But that's only one part of doing science: Deliberately Experimenting But as all sciences, Starcraft will for now be an experimental driven science. We have no way of telling theoretically if (BT; PvT;VoidR; 600) is opening up a new avenue for P to get a larger % in wins or not. I doubt it can, please excuse the silly example. Currently, our way to find out is competitive play of pros, who play at our best approximation to perfect execution. But the AI will have perfect execution and will be able to trial-and-err much faster than we can. What can we do? We need to search the SC Meta for more strange, but viable games like (Strange; Polt; 15:00; DH16; RO32) in a smart and efficient way. And you know who probably would like to see more games like that? The casters and the viewers. I didn't check the numbers, but Strange vs. Polt pretty much was the most watched Starcraft game ever. Unfortunately games like that are rare, and moves like Strange's VoidRay Basetrade againt Terran even rarer. Pro-gamers cannot rely on the scientific axiom of “perfect execution” that will become a reality as soon as the AIs hit, so they can't just do something they never tried under high pressure to win a lot of money. We already see a lot more experimentation among the Pro's non-price games, which is what made todays Meta so sophisticated. But could there be a way to push our Pro's to focus less on execution and more on Meta? They will have too, as soon as the Robo-Hybrids enter the ladder and pure executing skill will lose value first. So let me just propose the first Starcraft research policy: A crowd-sourced award for the coolest game. As the crowd apparently really, really liked Polt vs. Strange, and the casters and you-tubers even made actually more money because of that particular game, we could launch a second reward to the biggest tournaments. One that is rewards the player who made the most unorthodox move work in all the matches. You can vote based on how much money you put in & everybody who chips in a minimum amount gets all the replays.… That, and the crowd, should be all it takes to get one, or maybe two, very important things in Starcraft II: 1) Better chances against the robots 2) More Epic Games This is it for now from Oma Morkie's Starcraft Science Blog, but there is already my first policy recommendation. Category:Blog posts